package com.ruoyi.baseMain.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 客户信息业务对象 base_custom
 *
 * @author linziheng
 * @date 2023-12-31
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class BaseCustomBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 客户简称
     */
    @NotBlank(message = "客户简称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nickName;


    private String signs;
    private String customType;
    /**
     * 客户类别
     */
    private String channel;


    /**
     * 合作方式
     */
    private String cooperateType;
    private String contractFile;
    private String mainParty;

    /**
     * 付款方式
     */
    private String payType;

    /**
     * 甲方主体
     */
    private String aparty;

    /**
     * 乙方主体
     */
    private String bparty;


    /**
     * 业务部门
     */
    private String businessUnit;



    /**
     * 销售人员
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String saleUser;


    /**
     * 备注
     */
    private String remark;

    /**
     * 业务部门
     */
    private String businessUnitName;
    /**
     * 销售人员
     */
    private String saleUserName;
    /**
     * 合同号*
     */
    private String contractNo;

    /**
     * 合同开始时间*
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractStartTime;


    /**
     * 合同结束时间*
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractEndTime;

    //审批状态
    private String status;

    private String instanceCode;
}
